package com.cbianc.creation.factory.module


//抽象工厂：提供了厂品的生成方法
internal interface AbstractFactory {
    fun newProduct(): Product
}

//具体工厂1：实现了厂品的生成方法
internal class ConcreteFactory1 : AbstractFactory {
    override fun newProduct(): Product {
        println("具体工厂1生成-->具体产品1...")
        return ConcreteProduct1()
    }
}

//具体工厂2：实现了厂品的生成方法
internal class ConcreteFactory2 : AbstractFactory {
    override fun newProduct(): Product {
        println("具体工厂2生成-->具体产品2...")
        return ConcreteProduct2()
    }
}
